//#pragma once

//#include<iostream>
//#include<stdlib.h>
//#include<assert.h>
//#include<stdio.h>
//using std::cin;
//using std::cout;
//using std::endl;
//
//typedef int HPDataType;
//
//typedef struct Heap
//{
//  HPDataType* a;
//  size_t size;
//  size_t capacity;
//}HP;
//
////初始化
//void HeapInit(HP* php);
//
////销毁
//void HeapDestory(HP* php);
//
////向上调整算法
//void AdjustUp(HPDataType* php, size_t child);
//
////插入
//void HeapPush(HP* php, HPDataType x);
//
////打印
//void HeapPrint(HP* php);
//

#pragma once

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdlib.h>

typedef int HPDataType;

typedef struct Heap
{
  HPDataType* a;
  size_t size;
  size_t capacity;
}Heap;

//初始化
void HeapInit(Heap* php);

//销毁
void HeapDestroy(Heap* php);

//打印
void HeapPrint(Heap* php);

//判空
bool HeapEmpty(Heap* php);

//插入数据
void HeapPush(Heap* php, HPDataType x);

//删除数据
void HeapPop(Heap* php);


